home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-02-28 | 3.2 KB | 134 lines | [TEXT/R*ch] |
- // Copyright ©1993-94 Apple Computer, Inc. All rights reserved.
-
- // All these are examples used in the Newton Developer Conference
- // Talk, Dec-93.
-
- // These expressions can be evaluted in the NTK inspector in succession to
- // match the flow of the talk.
-
-
- // Basic Example ////////////////////////////////////////////////////////////
-
- tetrisTemplate := {
- isa: 'dyna_user_obj,
- value: "some target",
- lexicon: ["tetris"],
- };
-
- tetrisActionTemplate := {
- value: "an action",
- isa: 'dyna_user_action,
- lexicon: ["play"],
- };
-
- tetrisMsg := compile("begin print(\"Tetris!\"); GetRoot().assistant:close(); end");
-
- tetrisTaskTemplate := {
- isa: 'task_template,
- primary_act: tetrisActionTemplate,
- preconditions: ['myTarget, 'myAction],
- signature: [tetrisTemplate, tetrisActionTemplate],
- postparse: tetrisMsg,
- taskslip: nil,
- };
-
-
- tetrisResult := regtasktemplate(tetrisTaskTemplate);
-
- parseUtter("play tetris");
-
-
- // Action Conflict Part I - The Problem ////////////////////////////////////
-
- othelloActionTemplate := {
- value: "another action",
- isa: 'dyna_user_action,
- lexicon: ["play"],
- };
-
- othelloTemplate := {
- isa: 'dyna_user_obj,
- value: "another target",
- lexicon: ["Othello"],
- };
-
- othelloMsg := compile("begin print(\"Othello!\"); GetRoot().assistant:close(); end");
-
- othelloTaskTemplate := {
- isa: 'task_template,
- primary_act: othelloActionTemplate,
- preconditions: ['myTarget, 'myAction],
- signature: [othelloTemplate, othelloActionTemplate],
- postparse: othelloMsg,
- taskslip: nil,
- };
-
- othelloResult := regtasktemplate(othelloTaskTemplate);
-
- parseutter("play othello");
-
-
- // Action Conflict Part II - The Solution //////////////////////////////////
-
- unregtasktemplate(tetrisResult);
-
- tetrisTaskTemplate := {
- isa: 'task_template,
- primary_act: tetrisActionTemplate,
- preconditions: ['myTarget, 'myAction, 'generic_action],
- signature: [tetrisTemplate, tetrisActionTemplate, 'dyna_user_action],
- postparse: tetrisMsg,
- taskslip: nil,
- };
-
- tetrisResult := regtasktemplate(tetrisTaskTemplate);
-
- unregtasktemplate(othelloResult);
-
- othelloTaskTemplate := {
- isa: 'task_template,
- primary_act: othelloActionTemplate,
- preconditions: ['myTarget, 'myAction, 'generic_action],
- signature: [othelloTemplate, othelloActionTemplate, 'dyna_user_action],
- postparse: othelloMsg,
- taskslip: nil,
- };
-
- othelloResult := regtasktemplate(othelloTaskTemplate);
-
- parseutter("play othello");
-
- parseutter("play tetris");
-
-
- //Using Built-ins for Fun and Profit ///////////////////////////////////////////////
-
- expenseActionTemplate := {
- value: "expense action",
- isa: 'dyna_user_action,
- lexicon: ["expense"],
- };
-
- expenseTargetTemplate := {
- value: "expense target",
- isa: 'dyna_user_obj,
- lexicon: ["Hotel", "Air Fare", "Taxi", "Lunch", "Dinner"]
- };
-
- expenseMsg := compile("begin print(\"Expense!\"); GetRoot().assistant:close(); end");
-
- expenseTaskTemplate := {
- isa: 'task_template,
- primary_act: expenseActionTemplate,
- preconditions: ['myTarget, 'genericTarget, 'myAction],
- signature: [expenseTargetTemplate, 'user_obj, expenseActionTemplate],
- postparse: expenseMsg,
- taskslip: nil,
- };
-
- expenseResult := regtasktemplate(expenseTaskTemplate);
-
- parseUtter("expense lunch");
-
- unregtasktemplate(expenseResult);
-